Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat-be: 대시보드 생성 #65

Merged
merged 4 commits into from
Jul 18, 2024
Merged

feat-be: 대시보드 생성 #65

merged 4 commits into from
Jul 18, 2024

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Jul 17, 2024

Original issue description

목적

대시보드를 생성하는 api

작업 세부사항

  • 대시보드 생성
  • 필요 내용
    • 대시보드 이름
  • 접수, 합격 프로세스를 기본적으로 포함

참고 사항

  • 없음

아래의 별표줄 밑에 요구사항 ID만 작성해주세요. Prefix 금지!


DA_CREATE

closes #64

@github-actions github-actions bot added backend 백엔드 feature 새로운 기능 labels Jul 17, 2024
@github-actions github-actions bot added this to the 스프린트 1.0 milestone Jul 17, 2024
- 대시보드 생성시 기본 프로세스 2개가 생성된다.
    - 서류지원 프로세스
    - 합격 프로세스
@xogns1514 xogns1514 marked this pull request as ready for review July 17, 2024 08:42
Copy link
Contributor Author

📌 Test Coverage Report

Overall Project 70.74% -0.31%
Files changed 96.85% 🍏

File Coverage
DashboardController.java 100% 🍏
DashboardCreateDto.java 100% 🍏
DashboardService.java 100% 🍏
DashboardNotFoundException.java 100% 🍏
Club.java 39.71% 🍏
ClubNotFoundException.java 0%

Comment on lines +21 to +22
private static final Process DEFAULT_FIRST_PROCESS = new Process(1, "지원 접수", "지원자가 이력서를 제출하는 단계", null);
private static final Process DEFAULT_LAST_PROCESS = new Process(2, "합격", "지원자가 최종적으로 합격한 단계", null);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

서류지원, 합격 프로세스는 고정값이므로 static으로 두었습니다. 대시보드 생성시, 해당 프로세스의 내용을 뽑아와 저장하도록 했습니다. 이 방식보다 나은 방법이 있으시면 제안부탁드려요.

Comment on lines +38 to +44
@BeforeEach
void setUp() {
applicantRepository.deleteAll();
processRepository.deleteAll();
dashboardRepository.deleteAll();
clubRepository.deleteAll();
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

기존 processServiceTest에서 남아있던 데이터를 deleteAll()로 처리하는 것을 보고, 컨벤션 맞춰 작성했습니다.
테스트마다 데이터 격리 어떤방식으로 통일할지 얘기해보면 좋을 것 같습니다.

Copy link
Member

@Chocochip101 Chocochip101 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

안녕하세요 러쉬!

간단한 리뷰 남겨두었습니다 🙂
확인 부탁드려요 🙇🏻‍♀️

Comment on lines +21 to +22
private static final Process DEFAULT_FIRST_PROCESS = new Process(1, "지원 접수", "지원자가 이력서를 제출하는 단계", null);
private static final Process DEFAULT_LAST_PROCESS = new Process(2, "합격", "지원자가 최종적으로 합격한 단계", null);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

static으로 정의하신 이유가 있나요?

Copy link
Contributor

@xogns1514 xogns1514 Jul 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

프로세스 2개가 고정값이여서, static으로 두었습니다.
name, decription 각각에 대해 상수화 하는 것보다, Process 객체 자체를 static으로 두는 것이 관리하기 편할 것 같다고 생각했습니다. 초코칩의 생각은 어떠신가용?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

name, decription 각각에 대해 상수화와는 별개로, Process 객체로 관리해도 괜찮을 것 같아요.

러쉬는 어떤 측면에서 관리의 용이성을 느꼈나요?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아직 인스턴스로 관리했을 경우와 static으로 관리했을 경우 성능적 차이는 모르겠네요.. 고민해보겠습니다.

@RequiredArgsConstructor
public class DashboardService {

private static final Process DEFAULT_FIRST_PROCESS = new Process(1, "지원 접수", "지원자가 이력서를 제출하는 단계", null);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

논의를 통해 Fixture을 만드는 것을 고려해봅시다!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixture는 Test Fixture에서 사용되는 용어인데, 의도한 바가 맞을까요?

https://docs.spring.io/spring-framework/reference/testing/testcontext-framework/fixture-di.html

ApplicantRepository applicantRepository;

@BeforeEach
void setUp() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 부분도 abstract class의 상위 test class를 만들어서 상속받아 전역적으로 test class를 만들면 좋을 것 같습니다

Copy link
Member

@Chocochip101 Chocochip101 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

러쉬가 남긴 질문에 대해 저의 의견을 달았습니다 :)

확인해주세요!

Comment on lines +21 to +22
private static final Process DEFAULT_FIRST_PROCESS = new Process(1, "지원 접수", "지원자가 이력서를 제출하는 단계", null);
private static final Process DEFAULT_LAST_PROCESS = new Process(2, "합격", "지원자가 최종적으로 합격한 단계", null);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

name, decription 각각에 대해 상수화와는 별개로, Process 객체로 관리해도 괜찮을 것 같아요.

러쉬는 어떤 측면에서 관리의 용이성을 느꼈나요?

@xogns1514 xogns1514 requested a review from Chocochip101 July 18, 2024 03:27
Copy link
Member

@Chocochip101 Chocochip101 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

답글 달았습니다~ 확인해주세요 :)

@xogns1514 xogns1514 requested a review from Chocochip101 July 18, 2024 03:32
Copy link
Member

@Chocochip101 Chocochip101 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다 👍🏻

@xogns1514 xogns1514 merged commit 307c703 into be/develop Jul 18, 2024
36 checks passed
@xogns1514 xogns1514 deleted the be-64-DA_CREATE branch July 18, 2024 04:01
Chocochip101 pushed a commit that referenced this pull request Jul 19, 2024
* Create draft PR for #64

* feat(Dashboard): 대시보드 생성 기능 구현

- 대시보드 생성시 기본 프로세스 2개가 생성된다.
    - 서류지원 프로세스
    - 합격 프로세스

* refactor(DashboardService): create 메서드 @transactional 추가

* refactor(DashboardControllerTest): 불필요한 코드 제거

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: leetaehoon <xogns1514@gmail.com>
Chocochip101 added a commit that referenced this pull request Jul 19, 2024
* chore: Issue closed 기능 assignee payload 수정

* feat: PR Open시 제목 prefix 설정

* feat: AWS self-hosted runner 환경 이용 CD pipeline 구축

* refactor: branch 자동 생성 대상 label 추가

* chore: 수동 트리거 추가

* fea(slack-alert): PR 리뷰 완료, Approve 슬랙 알림 기능 구현

* chore(issue-automation): issue assignee payload 수정

* chore(actions-test): Jacoco 테스트 커버리지 검증 PR 메세지 생성 기능 추가

* chore(actions-test): Jacoco 테스트 커버리지 검증 PR 메세지 생성 기능 추가

* docs: 서비스 및 팀원 소개

* chore(CI): CI 과정 name 및 파일명 변경

* feat: 초기 프로젝트 설정

* Create draft PR for #21

* feat: 특정 대시보드 프로세스 조회

* feat: 존재하지 않는 대시보드 검증

Co-Authored-By: 김형호 <140397285+HyungHoKim00@users.noreply.github.com>
Co-Authored-By: Kwoun Ki Ho <73146678+Chocochip101@users.noreply.github.com>

* test: 클래스 displayName 추가

Co-Authored-By: 김형호 <140397285+HyungHoKim00@users.noreply.github.com>
Co-Authored-By: Kwoun Ki Ho <73146678+Chocochip101@users.noreply.github.com>

* 프로세스 생성 (#35)

* Create draft PR for #31

* feat: 프로세스 생성

Co-Authored-By: 김형호 <140397285+HyungHoKim00@users.noreply.github.com>
Co-Authored-By: Kwoun Ki Ho <73146678+Chocochip101@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: cutehumanS2 <oddpinkjadeite@gmail.com>
Co-authored-by: 김형호 <140397285+HyungHoKim00@users.noreply.github.com>
Co-authored-by: Kwoun Ki Ho <73146678+Chocochip101@users.noreply.github.com>

* feat: [be] 특정 지원자 카드를 대시보드의 다른 프로세스로 이동 (#30)

* Create draft PR for #29

* feat(Applicant): 지원서 프로세스 변경 API 기능 구현

Co-Authored-By: Leetaehoon <xogns1514@gmail.com>

* style: 코드 컨벤션 개행 추가 및 제거

---------

Co-authored-by: Leetaehoon <xogns1514@gmail.com>
Co-authored-by: Do Yeop Kim <113661364+Dobby-Kim@users.noreply.github.com>

* feat-be:  프로세스 삭제 (#38)

* Create draft PR for #37

* feat: 프로세스 삭제
---------

Co-authored-by: cutehumanS2 <oddpinkjadeite@gmail.com>
Co-authored-by: 김형호 <140397285+HyungHoKim00@users.noreply.github.com>
Co-authored-by: Kwoun Ki Ho <73146678+Chocochip101@users.noreply.github.com>

* fix: updateApplicantProcess 오류 수정 (#45)

* refactor: 코드 포맷팅 (#48)

* feat-be: 더미 데이터 생성 (#50)

* Create draft PR for #49

* feat: 더미 데이터 추가

---------

Co-authored-by: HyungHoKim00 <hkim1109@naver.com>

* chore-be: Jacoco 연동 (#59)

* Create draft PR for #58

* chore: jacoco 설정

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kwoun Ki Ho <fingercut3822@gmail.com>

* chore(slack-alert): PR review 완료, approve Slack 알림 기능 적용

* chore(slack-alert): PR review 완료, approve Slack 알림 기능 적용

* chore(slack-alert): PR approve payload 변경

* feat-be: 프로세스 생성 및 삭제 시 검증 로직 추가 (#52)

* Create draft PR for #51

* feat(Process): 프로세스 이름 검증 로직

Co-Authored-By: Leetaehoon <66353672+xogns1514@users.noreply.github.com>

* refactor: DashboardNotFoundException 에러 메시지 변경

Co-Authored-By: Leetaehoon <66353672+xogns1514@users.noreply.github.com>

* feat: 프로세스 최대 개수 검증

Co-Authored-By: Leetaehoon <66353672+xogns1514@users.noreply.github.com>

* feat: 프로세스 삭제 시 검증

첫 번째 접수와 마지막 프로세스는 삭제 불가능

Co-Authored-By: Leetaehoon <66353672+xogns1514@users.noreply.github.com>

* fix: 프로세스 이름 검증 정규식 변경

띄어쓰기 포함할 수 있도록 변경

Co-Authored-By: Leetaehoon <66353672+xogns1514@users.noreply.github.com>

* refactor: 프로세스 생성 로직 변경

Co-Authored-By: Leetaehoon <66353672+xogns1514@users.noreply.github.com>
Co-Authored-By: 김형호 <140397285+HyungHoKim00@users.noreply.github.com>

* refactor: 접근 제어자 변경

* refactor: 테스트 value 변경

* refactor: DTO 필드 타입 변경

* refactor: 테스트 데이터 저장 구현 변경

* refactor: 검증 로직을 메서드로 분리

* style: 포매팅

* refactor: displayName 및 테스트 데이터 변경

* feat: 프로세스 삭제 시 검증

지원자가 존재하는 프로세스 삭제 불가능

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: cutehumanS2 <oddpinkjadeite@gmail.com>
Co-authored-by: Leetaehoon <66353672+xogns1514@users.noreply.github.com>
Co-authored-by: 김형호 <140397285+HyungHoKim00@users.noreply.github.com>

* chore(actions-test): Jacoco 테스트 커버리지 검증 PR 메세지 생성 기능 추가

* chore(actions-test): Jacoco 테스트 커버리지 검증 PR 메세지 생성 기능 추가

* chore(actions-test): JDK 버전 정보 명시

* chore(actions-test): JDK 버전 정보 명시 및 Jacoco profile 분할

* chore(actions-test): jobs 분할 및 test fail 결과 관리 방법 변경

* chore(actions-test): JDK 환경 버전 설정 수정

* fix(actions-test): Java 실행환경 통일을 위한 jobs 병합

* feat-be: 지원자 기본 정보 조회 (#63)

* Create draft PR for #62

* feat: 지원자 기본 정보 조회

* chore(slack-alert): PR review 개별 comment 알림 기능 수정

* test: 테스트 문구 및 처리 방법 변경

* chore(slack-alert): PR review 완료, approve Slack 알림 기능 수정

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: HyungHoKim00 <hkim1109@naver.com>
Co-authored-by: Do Yeop Kim <113661364+Dobby-Kim@users.noreply.github.com>

* feat-be: 대시보드 생성 (#65)

* Create draft PR for #64

* feat(Dashboard): 대시보드 생성 기능 구현

- 대시보드 생성시 기본 프로세스 2개가 생성된다.
    - 서류지원 프로세스
    - 합격 프로세스

* refactor(DashboardService): create 메서드 @transactional 추가

* refactor(DashboardControllerTest): 불필요한 코드 제거

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: leetaehoon <xogns1514@gmail.com>

* feat-be: 평가항목 등록 (#67)

* Create draft PR for #66

* feat: 평가 생성

* chore: spring validation 설정

* feat: 메서드 예외처리 응답 생성

* feat: body 검증 로직

* test: 외래키 무결성에 의한 테스트 깨짐 현상 수정

* refactor: 매직넘버 분리

* refactor: 메서드명 변경

* test: when&then 변경

* test: 불필요한 개행 제거

* refactor: 불필요한 괄호 제거

* test: deleteAllInBatch 적용

* test: get() 제거

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kwoun Ki Ho <fingercut3822@gmail.com>

* feat-be: 프로세스 목록 조회 (#69)

* Create draft PR for #68

* feat: 프로세스 조회 응답에 지원자의 불합격 여부 포함

* refactor: 데이터 필드 값 변경

* refactor: 필드 타입 변경

* style: 컨벤션 적용

* test: 프로세스 조회 실패 컨트롤러 테스트

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: cutehumanS2 <oddpinkjadeite@gmail.com>

* feat-be: 평가 조회 (#78)

* Create draft PR for #77

* feat: 평가 조회

* test: false 추가

* test: 일급컬랙션 변수명 변경

* refactor: DTO 변환 메서드 분리

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kwoun Ki Ho <fingercut3822@gmail.com>

* chore(slack-alert): Slack 발송 메세지 수정

* chore(slack-alert): Slack 발신 메세지 변경

* feat-be: 지원자 상세 정보 조회 (#72)

* Create draft PR for #71

* feat: question, choice, answer, chosenResponse 엔티티 추가

* feat: 지원자 상세 정보 조회 기능 구현

* refactor: merge 이후 confilct 나는 부분 수정

* fix: 테스트가 동작하지 않는 부분 수정

* refactor: chosenResponse 제거

* refactor: 불필요한 코드 제거 및 변경

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: HyungHoKim00 <hkim1109@naver.com>

* feat-be: 동아리 생성 (#82)

* Create draft PR for #81

* refactor(DashboardService): return 타입 primitive type으로 변경

* refactor(Dashboard): BaseEntity 상속

* refactor(DashboardController): return type 변경

* feat: 동아리 생성 기능 구현

동아리 이름
- 최소 1자 이상 최대 32자 이하여야 한다.
- 특수 문자를 허용한다(예: !, @, #, $, %, ^, &, *, (, )).
- 숫자를 허용한다(0-9).
- 띄어쓰기 허용

* refactor: 검증 메시지 추가

* refactor: db cleansing 메서드 수정

* feat: Club 생성날짜, 수정날짜 추가

* refactor: Club, Dashboard 생성날짜, 갱신날짜 제거

* style: 코드 포맷팅

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: leetaehoon <xogns1514@gmail.com>

* feat-be: 프로세스 목록 조회 응답에 평가자 수 추가 (#80)

* Create draft PR for #79

* test: 테스트 데이터에 지원자 불합격 여부 필드 추가

* feat: 프로세스 목록 조회 응답에 지원자의 평가자 수 필드 포함

* refactor: 메서드명 및 파라미터명 컨벤션 적용

* refactor: 테스트 코드 스타일 변경

* refactor: 메서드 반환 타입 변경

* refactor: DashboardApplicantDto 생성 로직 변경

* test: 실패하는 테스트 수정

* refactor: 대시보드 존재 여부 검증 로직 변경

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: cutehumanS2 <oddpinkjadeite@gmail.com>
Co-authored-by: 최가희 <60508828+cutehumanS2@users.noreply.github.com>

* fix-be: CORS 허용 (#85)

* Create draft PR for #84

* chore: CORS 허용

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kwoun Ki Ho <fingercut3822@gmail.com>

---------

Co-authored-by: Do Yeop Kim <113661364+Dobby-Kim@users.noreply.github.com>
Co-authored-by: leetaehoon <xogns1514@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: cutehumanS2 <oddpinkjadeite@gmail.com>
Co-authored-by: 김형호 <140397285+HyungHoKim00@users.noreply.github.com>
Co-authored-by: HyungHoKim00 <hkim1109@naver.com>
Co-authored-by: Leetaehoon <66353672+xogns1514@users.noreply.github.com>
Co-authored-by: 최가희 <60508828+cutehumanS2@users.noreply.github.com>
Dobby-Kim pushed a commit that referenced this pull request Jul 22, 2024
* Create draft PR for #64

* feat(Dashboard): 대시보드 생성 기능 구현

- 대시보드 생성시 기본 프로세스 2개가 생성된다.
    - 서류지원 프로세스
    - 합격 프로세스

* refactor(DashboardService): create 메서드 @transactional 추가

* refactor(DashboardControllerTest): 불필요한 코드 제거

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: leetaehoon <xogns1514@gmail.com>
Dobby-Kim pushed a commit that referenced this pull request Jul 22, 2024
* Create draft PR for #64

* feat(Dashboard): 대시보드 생성 기능 구현

- 대시보드 생성시 기본 프로세스 2개가 생성된다.
    - 서류지원 프로세스
    - 합격 프로세스

* refactor(DashboardService): create 메서드 @transactional 추가

* refactor(DashboardControllerTest): 불필요한 코드 제거

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: leetaehoon <xogns1514@gmail.com>
Dobby-Kim pushed a commit that referenced this pull request Jul 22, 2024
* Create draft PR for #64

* feat(Dashboard): 대시보드 생성 기능 구현

- 대시보드 생성시 기본 프로세스 2개가 생성된다.
    - 서류지원 프로세스
    - 합격 프로세스

* refactor(DashboardService): create 메서드 @transactional 추가

* refactor(DashboardControllerTest): 불필요한 코드 제거

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: leetaehoon <xogns1514@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend 백엔드 feature 새로운 기능
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants